package com.xzc;

import com.xzc.enums.ExportColumnEnums;
import com.xzc.pojo.AllStaffTime;
import com.xzc.pojo.StaffTaskTime;
import com.xzc.pojo.ZenTaoValues;
import com.xzc.pojo.response.User;
import com.xzc.util.ExportUtils;
import com.xzc.util.GetStaffDataUtils;
import com.xzc.util.ReadValues;
import com.xzc.util.ZenTaoUtils;
import lombok.extern.slf4j.Slf4j;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

/**
 * @author 熊志聪
 * @Classname Main
 * @Description 启动类
 * @Date 2021/12/14 18:48
 */
@Slf4j
public class Main {
    public static void printfOneMonth(){
        Date startDate=new Date();
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat(Constants.DATE_FORMAT);

        log.info("开始执行统计工时程序,当前时间:{}....",simpleDateFormat.format(startDate));
        ZenTaoValues zenTaoValues = ReadValues.getZenTaoValues();
        log.info("读取配置结束...");
        List<AllStaffTime> allStaffTime = GetStaffDataUtils.getAllStaffTime(zenTaoValues);
        log.info("获取本部门所有信息结束\n开始打印");
        ExportUtils.export(allStaffTime, ExportColumnEnums.getAlias(0),zenTaoValues);
        log.info("统计工时程序消耗时间:{} s",(System.currentTimeMillis()-startDate.getTime())/1000);

        //登出
        ZenTaoUtils.zenTaoLogout(zenTaoValues.getZenTaoSuffix());
        log.info("打印结束");
    }
    public static void main(String[] args) {
        getMaxAndMin();
//        printfOneMonth();
//        getDeptUsers();
    }
    public static void getMaxAndMin(){
        Date startDate=new Date();
        SimpleDateFormat simpleDateFormat=new SimpleDateFormat(Constants.DATE_FORMAT);

        log.info("开始执行统计工时程序,当前时间:{}....",simpleDateFormat.format(startDate));
        ZenTaoValues zenTaoValues = ReadValues.getZenTaoValues();
        log.info("读取配置结束...");
        List<StaffTaskTime> maxAndMinToOneYear = GetStaffDataUtils.getMaxAndMinToOneYear(zenTaoValues);
        log.warn("maxAndMinToOneYear:{}",maxAndMinToOneYear);
//        FileUtil.writeLines(maxAndMinToOneYear,"D:\\Git\\zentao\\maxAndMin.txt","UTF-8");
        log.info("统计工时程序消耗时间:{} s",(System.currentTimeMillis()-startDate.getTime())/1000);
        //登出
        ZenTaoUtils.zenTaoLogout(zenTaoValues.getZenTaoSuffix());
        log.info("打印结束");
    }
    public static void getDeptUsers(){
        ZenTaoValues zenTaoValues = ReadValues.getZenTaoValues();
        List<User> usersByDept = ZenTaoUtils.getUsersByDept(zenTaoValues);
        System.out.println(usersByDept);
    }
}
